﻿using System;
using System.Collections.Generic;
using System.Text;
using NGuestBook.Entity;

namespace NGuestBook.IDAL
{
    /**//// <summary>
    /// 数据访问层接口-管理员
    /// </summary>
    public interface IAdminDAL
    {
        /**//// <summary>
        /// 插入管理员
        /// </summary>
        /// <param name="admin">管理员实体类</param>
        /// <returns>是否成功</returns>
        bool Insert(AdminInfo admin);

        /**//// <summary>
        /// 删除管理员
        /// </summary>
        /// <param name="id">欲删除的管理员的ID</param>
        /// <returns>是否成功</returns>
        bool Delete(int id);

        /**//// <summary>
        /// 更新管理员信息
        /// </summary>
        /// <param name="admin">管理员实体类</param>
        /// <returns>是否成功</returns>
        bool Update(AdminInfo admin);

        /**//// <summary>
        /// 按ID取得管理员信息
        /// </summary>
        /// <param name="id">管理员ID</param>
        /// <returns>管理员实体类</returns>
        AdminInfo GetByID(int id);

        /**//// <summary>
        /// 按管理员名取得管理员信息
        /// </summary>
        /// <param name="name">管理员名</param>
        /// <returns>管理员实体类</returns>
        AdminInfo GetByName(string name);

        /**//// <summary>
        /// 按用户名及密码取得管理员信息
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="password">密码</param>
        /// <returns>管理员实体类，不存在时返回null</returns>
        AdminInfo GetByNameAndPassword(string name,string password);

        /**//// <summary>
        /// 取得全部管理员信息
        /// </summary>
        /// <returns>管理员实体类集合</returns>
        IList<AdminInfo> GetAll();
    }
}